# config.py
import os
from dataclasses import dataclass
from typing import List, Dict

@dataclass
class StockConfig:
    """股票配置"""
    symbol: str      # 股票代码，如 'sh601318'
    name: str        # 股票名称
    #alert_threshold: float  # 提醒阈值（百分比）
    up_threshold: float
    down_threshold: float


@dataclass
class EmailConfig:
    """邮件配置"""
    smtp_server: str
    smtp_port: int
    sender_email: str
    sender_password: str  # 如果是QQ邮箱，使用授权码
    receiver_emails: List[str]


@dataclass
class MonitorConfig:
    """监控配置"""
    check_interval: int  # 检查间隔（秒）
    max_retries: int     # 最大重试次数
    retry_delay: int     # 重试延迟（秒）


# 股票监控配置
STOCKS_TO_MONITOR = [
    #StockConfig('sh588000', '科创50ETF', 2, -1.0),    # 涨幅超过2%提醒
    StockConfig('sz002594', '比亚迪', 3, -3.0),       # 涨幅超过3%提醒
    StockConfig('sh000001', '上证指数', 1, -1.0),       # 涨幅超过1%提醒
    StockConfig('sh513120', '港股创新药', 1, -1.0),
]

# 邮件配置
EMAIL_CONFIG = EmailConfig(
    smtp_server='smtp.163.com',  # QQ邮箱SMTP服务器
    smtp_port=25,
    sender_email='wqch19871217@163.com',  # 替换为你的邮箱
    sender_password='SACYAGLNRRXLOLBG',  # 替换为你的授权码
    receiver_emails=['wqch19871217@163.com']
)

# 监控配置
MONITOR_CONFIG = MonitorConfig(
    check_interval=60,  # 每60秒检查一次
    max_retries=3,
    retry_delay=5
)

# 报警记录文件（避免重复报警）
ALERT_RECORD_FILE = 'alert_records.json'